HTMLify
Single Elements in Sorted Array.cpp
Views: 1 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | class Solution { public: int singleNonDuplicate(vector<int>& nums) { int n = nums.size(); if(n == 1) return nums[0]; if(nums[0] != nums[1]) return nums[0]; if(nums[n-1] != nums[n-2]) return nums[n-1]; int start = 1, end = n-2; while(start<=end){ int mid = start + (end - start) /2; if(nums[mid]!=nums[mid-1] && nums[mid] != nums[mid + 1]){ return nums[mid]; } // left part if((mid % 2 ==1 && nums[mid]==nums[mid-1]) || (mid % 2 == 0 && nums[mid] == nums[mid+1])){ start = mid +1; } else{ end = mid -1; } } return -1; } }; |